﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://schemas.datacontract.org/2004/07/BrainTechLLC" />
  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:element name="ReadAllGameCharacters">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="usernamePassword" nillable="true" type="q1:UsernamePassword" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReadAllGameCharactersResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="ReadAllGameCharactersResult" nillable="true" type="q2:ArrayOfGameChar" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReadAllGameCharacterTemplates">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="usernamePassword" nillable="true" type="q3:UsernamePassword" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReadAllGameCharacterTemplatesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="ReadAllGameCharacterTemplatesResult" nillable="true" type="q4:ArrayOfGameCharTemplate" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReadAllItemTemplates">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element xmlns:q5="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="usernamePassword" nillable="true" type="q5:UsernamePassword" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReadAllItemTemplatesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q6="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="ReadAllItemTemplatesResult" nillable="true" type="q6:ArrayOfItemTemplate" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReadAllAreas">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element xmlns:q7="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="usernamePassword" nillable="true" type="q7:UsernamePassword" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReadAllAreasResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q8="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="ReadAllAreasResult" nillable="true" type="q8:ArrayOfArea" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReadGameCharacters">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element xmlns:q9="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="usernamePassword" nillable="true" type="q9:UsernamePassword" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReadGameCharactersResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q10="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="ReadGameCharactersResult" nillable="true" type="q10:ArrayOfGameChar" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReadStaticMethods">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReadStaticMethodsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q11="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="ReadStaticMethodsResult" nillable="true" type="q11:ArrayOfMethod" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReadWorldMap">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="ReadWorldMapResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q12="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="ReadWorldMapResult" nillable="true" type="q12:ArrayOfGameLocation" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReadLocationEdges">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="ReadLocationEdgesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q13="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="ReadLocationEdgesResult" nillable="true" type="q13:ArrayOfLocationEdge" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReadGameChar">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element minOccurs="0" name="id" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReadGameCharResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q14="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="ReadGameCharResult" nillable="true" type="q14:GameChar" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReadById">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element minOccurs="0" name="id" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReadByIdResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q15="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="ReadByIdResult" nillable="true" type="q15:BytesAndType" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="LoadAbilitiesFromIds">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q16="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="ids" nillable="true" type="q16:ArrayOflong" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="LoadAbilitiesFromIdsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q17="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="LoadAbilitiesFromIdsResult" nillable="true" type="q17:ArrayOfAbility" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="LoadStatesFromIds">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q18="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="ids" nillable="true" type="q18:ArrayOflong" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="LoadStatesFromIdsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q19="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="LoadStatesFromIdsResult" nillable="true" type="q19:ArrayOfState" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="LoadChannels">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="LoadChannelsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q20="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="LoadChannelsResult" nillable="true" type="q20:ArrayOfChannel" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreGameChar">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element xmlns:q21="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="o" nillable="true" type="q21:GameChar" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreGameCharResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="StoreGameCharResult" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreAbility">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element xmlns:q22="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="o" nillable="true" type="q22:Ability" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreAbilityResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="StoreAbilityResult" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreLocationEdge">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element xmlns:q23="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="o" nillable="true" type="q23:LocationEdge" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreLocationEdgeResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="StoreLocationEdgeResult" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreEdgeData">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element xmlns:q24="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="o" nillable="true" type="q24:EdgeData" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreEdgeDataResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="StoreEdgeDataResult" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreState">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element xmlns:q25="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="o" nillable="true" type="q25:State" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreStateResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="StoreStateResult" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreMedia">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element xmlns:q26="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="o" nillable="true" type="q26:Media" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreMediaResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="StoreMediaResult" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreStateTemplate">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element xmlns:q27="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="o" nillable="true" type="q27:StateTemplate" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreStateTemplateResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="StoreStateTemplateResult" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreItemTemplate">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element xmlns:q28="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="o" nillable="true" type="q28:ItemTemplate" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreItemTemplateResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="StoreItemTemplateResult" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreItem">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element xmlns:q29="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="o" nillable="true" type="q29:Item" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreItemResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="StoreItemResult" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreArea">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element xmlns:q30="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="o" nillable="true" type="q30:Area" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreAreaResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="StoreAreaResult" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreReset">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element xmlns:q31="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="o" nillable="true" type="q31:Reset" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreResetResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="StoreResetResult" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreGameCharTemplate">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element xmlns:q32="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="o" nillable="true" type="q32:GameCharTemplate" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreGameCharTemplateResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="StoreGameCharTemplateResult" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreTemplate">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element xmlns:q33="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="o" nillable="true" type="q33:Template" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreTemplateResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="StoreTemplateResult" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreGameThing">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element xmlns:q34="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="o" nillable="true" type="q34:GameThingBaseClass" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreGameThingResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="StoreGameThingResult" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreGameLocation">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element xmlns:q35="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="o" nillable="true" type="q35:GameLocation" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreGameLocationResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="StoreGameLocationResult" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreChannel">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element xmlns:q36="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="o" nillable="true" type="q36:Channel" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="StoreChannelResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="StoreChannelResult" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="SaveWorld">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="SaveWorldResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateItemFromTemplate">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element minOccurs="0" name="associatedId" type="xs:long" />
        <xs:element minOccurs="0" name="templateId" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateItemFromTemplateResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="CreateItemFromTemplateResult" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateCharFromTemplate">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element minOccurs="0" name="templateId" type="xs:long" />
        <xs:element minOccurs="0" name="locationId" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateCharFromTemplateResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="CreateCharFromTemplateResult" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Login">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element xmlns:q37="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="usernamePassword" nillable="true" type="q37:UsernamePassword" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="LoginResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q38="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="LoginResult" nillable="true" type="q38:UsernamePassword" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AssociateIDWithLogin">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element xmlns:q39="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="usernamePassword" nillable="true" type="q39:UsernamePassword" />
        <xs:element minOccurs="0" name="id" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AssociateIDWithLoginResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q40="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="AssociateIDWithLoginResult" nillable="true" type="q40:UsernamePassword" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="SendCommand">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element minOccurs="0" name="command" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="SendCommandResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="SetCurrentlyPlaying">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="uniqueId" type="xs:int" />
        <xs:element xmlns:q41="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="usernamePassword" nillable="true" type="q41:UsernamePassword" />
        <xs:element minOccurs="0" name="id" type="xs:long" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="SetCurrentlyPlayingResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q42="http://schemas.datacontract.org/2004/07/BrainTechLLC" minOccurs="0" name="SetCurrentlyPlayingResult" nillable="true" type="q42:GameChar" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>